<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>11-数组解构变量和值不匹配的情况</title>
</head>
<body>
    <script>
        // 数组解构变量和值不匹配的情况

        // 1.变量多值少的情况
        // const [a,b,c,d] = ['小米','华为','苹果']
        // console.log(a)
        // console.log(b)
        // console.log(c)
        // console.log(d) // undefined
        
        // 2. 防止有undefined传递值的情况，可以设置默认值
        // const [a,b,c,d = '三星'] = ['小米','华为','苹果']
        // console.log(a)
        // console.log(b)
        // console.log(c)
        // console.log(d)

        // 3. 变量少值多的情况  后面那个不输出 也不报错
        // const [a,b] = ['小米','华为','苹果']
        // console.log(a) // 小米
        // console.log(b) // 华为

        // 4. 利用 剩余参数 解决变量少值多的情况
        // const [a,...b] = ['小米','华为','苹果']
        // console.log(a) // 小米
        // console.log(b) // ['华为', '苹果']

        // 5. 按需导入，忽略某些值
        // const [a, , c, d] = ['小米','华为','苹果','oppo']
        // console.log(a)  // 小米
        // console.log(c)  // 苹果
        // console.log(d)  // oppo

        // 6. 多维数组 解构赋值
        // const [a, b] = ['小米',['华为','苹果']]
        // console.log(a) // 小米
        // console.log(b) // ['华为', '苹果']

        const [a,[b,c]] = ['小米',['华为','苹果']]
        console.log(a)  // 小米
        console.log(b)  // 华为
        console.log(c)  // 苹果

        
    </script>
</body>
</html>